/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 86184
 * Date: 2023-02-03
 * Time: 13:14
 */
public class Object_construction {
    public String name;
    public int age;
    public int id;

    //构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)
    //无参的构造方法
    public Object_construction(){
        //通过this引用其他构造方法
        this("zhou");//必须是构造方法中第一条语且不能形成循环
        System.out.println("无参的构造方法");
    }
    //一个参数的构造方法
    public Object_construction(String name){
        this("zhou",18);
        this.name=name;
        System.out.println("一个参数的构造方法");
    }
    //两个参数的构造方法
    public Object_construction(String name,int age){
        this.name=name;
        this.age=age;
        System.out.println("两个参数的构造方法");
    }
    //三个参数的构造方法
    public Object_construction(String name,int age,int id){
        this.name=name;
        this.age=age;
        this.id=id;
        System.out.println("三个参数的构造方法");
    }

    public static void main(String[] args) {
        //如果用户没有显式定义，编译器会生成一份默认的构造方法，生成的默认构造方法一定是无参的（以上定义了就不会在定义）
        Object_construction student1=new Object_construction();//无参
        Object_construction student2=new Object_construction("zhou");//一个参数
        Object_construction student3=new Object_construction("zhou",18);//两个参数
        Object_construction student4=new Object_construction("zhou",18,221549250);//三个参数

        Object_construction student5=new Object_construction();//通过this构造方法进行构造
    }


}
